<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.OrganizationChart.Messages" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.OrganizationChart.Messages" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:9000/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="http://localhost:9000/?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.Common.Messages" />
  <xs:import schemaLocation="http://localhost:9000/?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://localhost:9000/?xsd=xsd6" namespace="http://schemas.datacontract.org/2004/07/MCMLXVII.Core.Common" />
  <xs:complexType name="msgOrganizationNodeInfo">
    <xs:sequence>
      <xs:element name="_BlockInheritance" type="xs:boolean" />
      <xs:element name="_DirectoryConfigInfo" nillable="true" type="xs:string" />
      <xs:element name="_FatherID" type="xs:int" />
      <xs:element name="_FirstChild" nillable="true" type="tns:msgOrganizationNodeInfo" />
      <xs:element name="_Name" nillable="true" type="xs:string" />
      <xs:element name="_NextBrother" nillable="true" type="tns:msgOrganizationNodeInfo" />
      <xs:element name="_NodeID" type="xs:int" />
      <xs:element name="_OwnerID" type="xs:int" />
      <xs:element name="_Translations" nillable="true" type="tns:ArrayOfNodeLanguageTranslations" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgOrganizationNodeInfo" nillable="true" type="tns:msgOrganizationNodeInfo" />
  <xs:complexType name="ArrayOfNodeLanguageTranslations">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="NodeLanguageTranslations" type="tns:NodeLanguageTranslations" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfNodeLanguageTranslations" nillable="true" type="tns:ArrayOfNodeLanguageTranslations" />
  <xs:complexType name="NodeLanguageTranslations">
    <xs:annotation>
      <xs:appinfo>
        <IsValueType xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsValueType>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Language" nillable="true" type="xs:string" />
      <xs:element name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NodeLanguageTranslations" nillable="true" type="tns:NodeLanguageTranslations" />
  <xs:complexType name="msgSimpleNodeRequest">
    <xs:sequence>
      <xs:element name="_Nodeid" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgSimpleNodeRequest" nillable="true" type="tns:msgSimpleNodeRequest" />
  <xs:complexType name="ArrayOfmsgOrganizationTreeNodeMember">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="msgOrganizationTreeNodeMember" nillable="true" type="tns:msgOrganizationTreeNodeMember" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfmsgOrganizationTreeNodeMember" nillable="true" type="tns:ArrayOfmsgOrganizationTreeNodeMember" />
  <xs:complexType name="msgOrganizationTreeNodeMember">
    <xs:sequence>
      <xs:element name="_Description" nillable="true" type="xs:string" />
      <xs:element name="_MemberClass" type="xs:int" />
      <xs:element name="_MemberID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgOrganizationTreeNodeMember" nillable="true" type="tns:msgOrganizationTreeNodeMember" />
  <xs:complexType name="msgUpdateOrganizationTreeNode">
    <xs:sequence>
      <xs:element name="_DirectoryConfigInfo" nillable="true" type="xs:string" />
      <xs:element name="_FatherID" type="xs:int" />
      <xs:element name="_Name" nillable="true" type="xs:string" />
      <xs:element name="_NodeID" type="xs:int" />
      <xs:element name="_Translations" nillable="true" type="tns:ArrayOfNodeLanguageTranslations" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgUpdateOrganizationTreeNode" nillable="true" type="tns:msgUpdateOrganizationTreeNode" />
  <xs:complexType name="msgMoveNodeRequest">
    <xs:sequence>
      <xs:element name="_DestinationNodeID" type="xs:int" />
      <xs:element name="_Nodeid" type="xs:int" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgMoveNodeRequest" nillable="true" type="tns:msgMoveNodeRequest" />
  <xs:complexType name="msgMoveMemberRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgMoveNodeRequest">
        <xs:sequence>
          <xs:element name="_MemberID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgMoveMemberRequest" nillable="true" type="tns:msgMoveMemberRequest" />
  <xs:complexType name="msgUpdateOrganizationMember">
    <xs:sequence>
      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.Common.Messages" name="_ClassProperties" nillable="true" type="q1:msgXMLResponse" />
      <xs:element name="_Description" nillable="true" type="xs:string" />
      <xs:element name="_DirectoryIdentifier" nillable="true" type="xs:string" />
      <xs:element name="_Language" nillable="true" type="xs:string" />
      <xs:element name="_LogonName" nillable="true" type="xs:string" />
      <xs:element name="_MemberID" type="xs:int" />
      <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name="_MemberOf" nillable="true" type="q2:ArrayOfint" />
      <xs:element name="_NodeID" type="xs:int" />
      <xs:element name="_RoleMemberID" type="xs:int" />
      <xs:element name="_SecurityProviderID" type="xs:int" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgUpdateOrganizationMember" nillable="true" type="tns:msgUpdateOrganizationMember" />
  <xs:complexType name="msgSimpleMemberRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgSimpleNodeRequest">
        <xs:sequence>
          <xs:element name="_MemberID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgSimpleMemberRequest" nillable="true" type="tns:msgSimpleMemberRequest" />
  <xs:complexType name="msgOrganizationMemberInfo">
    <xs:sequence>
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.Common.Messages" name="_ClassProperties" nillable="true" type="q3:msgXMLResponse" />
      <xs:element name="_Description" nillable="true" type="xs:string" />
      <xs:element name="_DirectoryIdentifier" nillable="true" type="xs:string" />
      <xs:element name="_Language" nillable="true" type="xs:string" />
      <xs:element name="_LogonName" nillable="true" type="xs:string" />
      <xs:element name="_MemberClass" type="xs:int" />
      <xs:element name="_MemberID" type="xs:int" />
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/MCMLXVII.Core.Common" name="_MemberOf" nillable="true" type="q4:ArrayOfmsgMembershipInfo" />
      <xs:element name="_NodeID" type="xs:int" />
      <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/MCMLXVII.Core.Common" name="_RoleMemberID" nillable="true" type="q5:msgMembershipInfo" />
      <xs:element name="_SecurityProviderID" type="xs:int" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgOrganizationMemberInfo" nillable="true" type="tns:msgOrganizationMemberInfo" />
  <xs:complexType name="ArrayOfmsgOrganizationNodeAuditInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="msgOrganizationNodeAuditInfo" nillable="true" type="tns:msgOrganizationNodeAuditInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfmsgOrganizationNodeAuditInfo" nillable="true" type="tns:ArrayOfmsgOrganizationNodeAuditInfo" />
  <xs:complexType name="msgOrganizationNodeAuditInfo">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgBasicOrganizationAuditInfo">
        <xs:sequence>
          <xs:element name="_BlockInheritance" type="xs:boolean" />
          <xs:element name="_DirectoryConfigInfo" nillable="true" type="xs:string" />
          <xs:element name="_FatherID" type="xs:int" />
          <xs:element name="_Name" nillable="true" type="xs:string" />
          <xs:element name="_NodeID" type="xs:int" />
          <xs:element name="_OwnerID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgOrganizationNodeAuditInfo" nillable="true" type="tns:msgOrganizationNodeAuditInfo" />
  <xs:complexType name="msgBasicOrganizationAuditInfo">
    <xs:sequence>
      <xs:element name="_OperationClass" nillable="true" type="xs:string" />
      <xs:element name="_OperationDate" type="xs:dateTime" />
      <xs:element name="_OperationMemberID" type="xs:int" />
      <xs:element name="_OperationMemberName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgBasicOrganizationAuditInfo" nillable="true" type="tns:msgBasicOrganizationAuditInfo" />
  <xs:complexType name="ArrayOfmsgOrganizationMemberAuditInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="msgOrganizationMemberAuditInfo" nillable="true" type="tns:msgOrganizationMemberAuditInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfmsgOrganizationMemberAuditInfo" nillable="true" type="tns:ArrayOfmsgOrganizationMemberAuditInfo" />
  <xs:complexType name="msgOrganizationMemberAuditInfo">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgBasicOrganizationAuditInfo">
        <xs:sequence>
          <xs:element name="_ClassProperties" nillable="true" type="xs:string" />
          <xs:element name="_Description" nillable="true" type="xs:string" />
          <xs:element name="_DirectoryIdentifier" nillable="true" type="xs:string" />
          <xs:element name="_Language" nillable="true" type="xs:string" />
          <xs:element name="_NodeID" type="xs:int" />
          <xs:element name="_RoleMemberID" type="xs:int" />
          <xs:element name="_SecurityProviderID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgOrganizationMemberAuditInfo" nillable="true" type="tns:msgOrganizationMemberAuditInfo" />
  <xs:complexType name="msgFindMembersRequest">
    <xs:sequence>
      <xs:element name="_ClassID" type="xs:int" />
      <xs:element name="_FindPattern" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgFindMembersRequest" nillable="true" type="tns:msgFindMembersRequest" />
  <xs:complexType name="msgNewOrganizationTreeNode">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgSimpleNodeRequest">
        <xs:sequence>
          <xs:element name="_TempNodeName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgNewOrganizationTreeNode" nillable="true" type="tns:msgNewOrganizationTreeNode" />
  <xs:complexType name="msgNewOrganizationTreeItemResponse">
    <xs:sequence>
      <xs:element name="_NodeID" type="xs:int" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgNewOrganizationTreeItemResponse" nillable="true" type="tns:msgNewOrganizationTreeItemResponse" />
  <xs:complexType name="msgNewOrganizationMember">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:msgSimpleNodeRequest">
        <xs:sequence>
          <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.Common.Messages" name="_ClassProperties" nillable="true" type="q6:msgXMLResponse" />
          <xs:element name="_Description" nillable="true" type="xs:string" />
          <xs:element name="_DirectoryIdentifier" nillable="true" type="xs:string" />
          <xs:element name="_Language" nillable="true" type="xs:string" />
          <xs:element name="_LogonName" nillable="true" type="xs:string" />
          <xs:element name="_MemberClass" type="xs:int" />
          <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name="_MemberOf" nillable="true" type="q7:ArrayOfint" />
          <xs:element name="_RoleMemberID" type="xs:int" />
          <xs:element name="_SecurityProviderID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="msgNewOrganizationMember" nillable="true" type="tns:msgNewOrganizationMember" />
  <xs:complexType name="ArrayOfmsgOrganizationTreeMembersClass">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="msgOrganizationTreeMembersClass" nillable="true" type="tns:msgOrganizationTreeMembersClass" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfmsgOrganizationTreeMembersClass" nillable="true" type="tns:ArrayOfmsgOrganizationTreeMembersClass" />
  <xs:complexType name="msgOrganizationTreeMembersClass">
    <xs:sequence>
      <xs:element name="_AssemblyAndClass" nillable="true" type="xs:string" />
      <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/MCMLXVII.BackEnd.Services.Common.Messages" name="_BasicProperties" nillable="true" type="q8:msgXMLResponse" />
      <xs:element name="_Description" nillable="true" type="xs:string" />
      <xs:element name="_IdentifiesFinalUser" type="xs:boolean" />
      <xs:element name="_IsGroup" type="xs:boolean" />
      <xs:element name="_IsOrganizationTreeMember" type="xs:boolean" />
      <xs:element name="_IsRole" type="xs:boolean" />
      <xs:element name="_IsSecuritySelectable" type="xs:boolean" />
      <xs:element name="_IsWorkSelectable" type="xs:boolean" />
      <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name="_Members" nillable="true" type="q9:ArrayOfint" />
      <xs:element name="_OrganizationMemberClassID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgOrganizationTreeMembersClass" nillable="true" type="tns:msgOrganizationTreeMembersClass" />
  <xs:complexType name="ArrayOfmsgBasicOrganizationMemberInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="msgBasicOrganizationMemberInfo" nillable="true" type="tns:msgBasicOrganizationMemberInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfmsgBasicOrganizationMemberInfo" nillable="true" type="tns:ArrayOfmsgBasicOrganizationMemberInfo" />
  <xs:complexType name="msgBasicOrganizationMemberInfo">
    <xs:sequence>
      <xs:element name="_Description" nillable="true" type="xs:string" />
      <xs:element name="_ID" type="xs:int" />
      <xs:element name="_MemberClass" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgBasicOrganizationMemberInfo" nillable="true" type="tns:msgBasicOrganizationMemberInfo" />
  <xs:complexType name="msgOrganizationTreeNodeSecurity">
    <xs:sequence>
      <xs:element name="_Defined" nillable="true" type="tns:ArrayOfOrganizationTreeNodePermissions" />
      <xs:element name="_Inherited" nillable="true" type="tns:ArrayOfOrganizationTreeNodePermissions" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgOrganizationTreeNodeSecurity" nillable="true" type="tns:msgOrganizationTreeNodeSecurity" />
  <xs:complexType name="ArrayOfOrganizationTreeNodePermissions">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationTreeNodePermissions" nillable="true" type="tns:OrganizationTreeNodePermissions" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrganizationTreeNodePermissions" nillable="true" type="tns:ArrayOfOrganizationTreeNodePermissions" />
  <xs:complexType name="OrganizationTreeNodePermissions">
    <xs:sequence>
      <xs:element name="_MemberClass" type="xs:int" />
      <xs:element name="_MemberDescription" nillable="true" type="xs:string" />
      <xs:element name="_MemberID" type="xs:int" />
      <xs:element name="_Permission" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OrganizationTreeNodePermissions" nillable="true" type="tns:OrganizationTreeNodePermissions" />
  <xs:complexType name="msgUpdateOrganizationTreeNodeSecurity">
    <xs:sequence>
      <xs:element name="_BlockInheritance" type="xs:boolean" />
      <xs:element name="_Defined" nillable="true" type="tns:ArrayOfOrganizationTreeNodePermissions" />
      <xs:element name="_Nodeid" type="xs:int" />
      <xs:element name="_UpdateSequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="msgUpdateOrganizationTreeNodeSecurity" nillable="true" type="tns:msgUpdateOrganizationTreeNodeSecurity" />
</xs:schema>